import Vue from 'vue'
import Vuex from 'vuex'

import mutations from './mutaions'
import actions from './actions'
import getters from './getters'
import moduleA from './modules/moduleA'

// 1.安装插件
Vue.use(Vuex)

// 2.创建对象
const state = {
  counter: 1000,
  info: {
    name: 'cj',
    age: 21,
    height: 1.77
  },
  cartList: [],
  // 用户账号信息
  users: [
    {user: 'admin', psw: '010704'},
    {user: '海贼王', psw: '20010704'}
  ],
  // 当前登录用户信息
  userItem: {
    img: '',
    userName: '',
    phone: ''
  }
}

const store = new Vuex.Store({
  // 存放状态
  state,
  // 必须是同步方法
  mutations,
  // 异步的方法
  actions,
  // 获取对 state 进行处理过的数据 类似计算属性
  getters, 
  // 模块
  modules: {
    a: moduleA
  },
})

// 3. 导出
export default store
